package com.corhyfar.dao.impl;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import com.corhyfar.beans.ClienteDTO;
import com.corhyfar.beans.MaquinariaDTO;
import com.corhyfar.dao.MaquinariaDAO;
import com.corhyfar.util.SQLConnection;

public class MaquinariaDaoImpl implements MaquinariaDAO{

	Connection cn = null;
	PreparedStatement ps = null;
	ResultSet rs = null;
	
	@Override
	public MaquinariaDTO obtenerMaquinaria(int codigoMaq) throws SQLException {
		MaquinariaDTO obtenido = null;
		cn = new SQLConnection().GetConnection();
		String sql = "select * from MAQUINARIA where COD_MAQ=?";
		ps = cn.prepareStatement(sql);
		ps.setInt(1, codigoMaq);
		rs = ps.executeQuery();
		if (rs.next()) {
			obtenido = new MaquinariaDTO(rs.getInt(0), rs.getString(1),
					rs.getString(2), rs.getString(3), rs.getDouble(4),
					 rs.getInt(5));

		}
		ps.close();
		cn.close();
		return obtenido;
	}

	@Override
	public List<MaquinariaDTO> listarMaquinaria() throws SQLException {
		cn = new SQLConnection().GetConnection();
		String sql = "select * from MAQUINARIA";
		ps = cn.prepareStatement(sql);
		rs = ps.executeQuery();
		List<MaquinariaDTO> lista = new ArrayList<MaquinariaDTO>();
		while (rs.next()) {

			lista.add(new MaquinariaDTO(rs.getInt(0), rs.getString(1), rs
					.getString(2), rs.getString(3), rs.getDouble(5), rs.getInt(6)));

		}
		ps.close();
		cn.close();
		return lista;	
	}
	
	
	@Override
	public void actualizaMaquinaria(String codigoMarca, String capacidadMaq,
			String placaMaq, double precioAlqMaq, int codigoTrabajador)
			throws SQLException {
		cn = new SQLConnection().GetConnection();
		String sql = "update MAQUINARIA set COD_MARCA =?,CAPACIDAD_MAQ=? ,PLACA_MAQ =?,PRECIO_ALQUILER_MAQ =?,COD_TRAB =?";
		ps = cn.prepareStatement(sql);
		ps.setString(1, codigoMarca);
		ps.setString(2, capacidadMaq);
		ps.setString(3, placaMaq);
		ps.setDouble(4, precioAlqMaq);
		ps.setInt(5, codigoTrabajador);
		
		int rst = ps.executeUpdate();
		
		if(rst>0){
			System.out.println("Cliente Modificado");
		}
		ps.close();
		cn.close();
		
		
	}

	@Override
	public void ingresaMaquinaria(MaquinariaDTO maquinariaDTO) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void eliminaMaquinaria(int codigoMaq) {
		// TODO Auto-generated method stub
		
	}

	

}
